The closing decades of the 20th century have been characterized as the beginning of an “Information Age.” Before the widespread deployment of computers in the 1970s and 1980s, records and other data were stored in analog, human-readable formats using paper records, microfiche, and microfilm. With computerization, the storage of data became a digital task, storing information on magnetic or optical media in computer-readable formats. Unfortunately, computerization preceded widespread internetworking by roughly twenty years. The result is a dizzying array of data sources often separated by geographical or legal boundaries, stored in potentially incompatible formats, and held by owners whose interests may argue against interoperability and easy access.
However, end users need and want simple access to information from all of these data sources. This need has driven the creation of various techniques enabling a single end user to access and work with information with multiple, disparate data sources. For example, At Home Corporation of Redwood City, Calif. offers the MY EXCITE service. MY EXCITE presents users with a set of selectable information sources including sources for weather information, sources for equity market information, and sources for news information. The user identifies one or more information sources of interest, which the MY EXCITE service provides in a convenient, single page format website that is periodically updated. Without MY EXCITE or a comparable service, the user needs to retrieve this information from disparate data sources using varying methods of communications. For example, the user would need to place a telephone call to the National Oceanic and Atmospheric Administration (NOAA) for weather, purchase the NEW YORK TIMES and read the financial section for equity market information, and use a radio to monitor a news station for the latest news.
FIG. 1 depicts an apparatus for information aggregation and display known to the prior art, not necessarily used by the MY EXCITE service. The aggregator 108 includes functionality to accept an incoming network connection from the client device 100, including security measures using authentication credentials.
After authentication, the aggregator 108 loads preference information, including a list of conduits 112 associated with the user, from persistent storage. Each conduit 112 is adapted to process the information from an information source in data tier 116 and display it on a particular type of client device 100. In one embodiment, an equity market information source is associated with two conduits 112: one for displaying information in hypertext markup language (HTML) and one for displaying information in wireless markup language (WML).
Assume that a designer wishes to add a new information source (e.g., weather information) from data tier 116. This requires the creation of a new conduit 112 for each type of client device (e.g., web browser, WAP phone, etc.) supported by the aggregator 108. Similarly, if the designer wishes to add support for devices using a new display format, then the designer must write a conduit 112 for each information source supported by the aggregator 108.
For a real-world system typically accessing hundreds of data sources in data tier 116 using hundreds of conduits 112, the costs of upgrading the system to address a new display format or incorporate a new information source from data tier 116 are significant.
Moreover, the conduit model only allows the simple aggregation and conveyance of data from an information source to a client device. Information provided by an information source may not be in a form appropriate for direct display on a client device 100. For example, a source of equity market information could provide earnings and price data in response to a ticker symbol supplied by a user of a client device 100. If the user's preference data requires a price-to-earnings ratio, mere presentation of price data and earnings data fails to meet that request. Therefore, it is desirable for the system to permit arbitrary processing of the data received from an information source before its presentation to an end user.